package com.szrt.ssm.java.io.example01.demo01;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;


/**
 * 需求：读取文件中的内容并打印到控制台
 * 1：FileInputStream不能读取中文字符 会有乱码的问题
 * 2: fis.read返回的是读取到的英文字母的ascii码值
 */
public class FileInputStreamDemo01 {
	
	public static void main(String[] args) {
		FileInputStream fis = null;
		try {
			
			//1 创建1个文件对象
			File file = new File("io/hello.txt");
			
			//2 创建1个文件输入流来读取文件的内容
			fis = new FileInputStream(file);
			
			//3 调用输入流对象的方法来读取文件
			int b =fis.read();
			while(b !=-1){
				b= fis.read();
				char bb=(char)b;
				System.out.print(bb);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(null != fis){
				//4 关闭相应的流 访问的是磁盘的资源 不是java虚拟机内存的资源。Java虚拟机不会自动垃圾回收
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		
		
	}

}
